Skip to content

Conversation

@dereuromark
Copy link
Contributor

@dereuromark dereuromark commented Apr 21, 2025

Plugin could need a bit more love I guess

Only show-casing for now what would be needed to get things working in a "cake" way

Refs #373

notes:

  • Psalm wasnt installable anymore
  • PHPStan level 8 has 16 issues left
  • The tests were already failing before for some reason

@markstory markstory added this to the 5.x milestone Apr 22, 2025
@markstory
Copy link
Owner

I will have to get the CI config updated first 😊

@dereuromark
Copy link
Contributor Author

I just checked another site on that server
on every request

access("/site/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/admad/cakephp-social-auth/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/admad/cakephp-social-auth/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/plugins/Api/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/plugins/Api/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/markstory/asset_compress/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/markstory/asset_compress/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/friendsofcake/bootstrap-ui/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/friendsofcake/bootstrap-ui/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-dto/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-dto/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/lordsimal/cakephp-sentry/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/lordsimal/cakephp-sentry/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-calendar/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-calendar/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-captcha/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-captcha/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-comments/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-comments/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-data/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-data/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-databaselog/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-databaselog/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-favorites/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-favorites/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-feedback/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-feedback/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-file-storage/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-file-storage/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-geo/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-geo/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/plugins/ImageFileStorage/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/plugins/ImageFileStorage/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/plugins/LoginLink/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/plugins/LoginLink/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-qrcode/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-qrcode/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-queue/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-queue/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-queue-scheduler/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-queue-scheduler/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/friendsofcake/search/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/friendsofcake/search/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-setup/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-setup/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-tags/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-tags/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-templating/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-templating/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-test-helper/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-test-helper/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-tinyauth/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-tinyauth/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-tools/config/asset_compress.ini", F_OK) = -1 ENOENT (No such file or directory)
access("/site/vendor/dereuromark/cakephp-tools/config/asset_compress.local.ini", F_OK) = -1 ENOENT (No such file or directory)

same thing

I wonder, could we add a cache behind it? and it would just fetch from that (redis) result, so that there is actually 0 file lookups for this?

@dereuromark
Copy link
Contributor Author

I just checked/tested, this reduces it to 0 file lookups once the config has been built.

markstory added a commit that referenced this pull request Apr 25, 2025
@markstory
Copy link
Owner

Getting the build fixed in #375

@markstory
Copy link
Owner

I've got the build fixed for 4.x, but there are still a few failing tests here.

@dereuromark
Copy link
Contributor Author

Those are some ideas.
I guess caching also needs an opt in config setting

@codecov
Copy link

codecov bot commented Apr 30, 2025

Codecov Report

Attention: Patch coverage is 77.77778% with 6 lines in your changes missing coverage. Please review.

Project coverage is 91.98%. Comparing base (0857695) to head (0ae1919).
Report is 18 commits behind head on 5.x.

Files with missing lines Patch % Lines
src/Config/ConfigFinder.php 68.42% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##                5.x     #374      +/-   ##
============================================
- Coverage     92.39%   91.98%   -0.41%     
- Complexity      116      124       +8     
============================================
  Files            10       10              
  Lines           368      387      +19     
============================================
+ Hits            340      356      +16     
- Misses           28       31       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dereuromark
Copy link
Contributor Author

I made the cache configurable, defaulting to debug mode setting.
Should be good default, as this will then mainly be a performance improvement on prod, where it is needed.

Lots of deprecations, but otherwise seems fine:

PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\AssetScannerTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/AssetScannerTest.php on line 14
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\AssetScannerTest::$Scanner is deprecated in /data/work/git/asset_compress/tests/TestCase/AssetScannerTest.php on line 19

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\AssetScannerTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/AssetScannerTest.php on line 14

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\AssetScannerTest::$Scanner is deprecated in /data/work/git/asset_compress/tests/TestCase/AssetScannerTest.php on line 19
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\AssetScannerTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/AssetScannerTest.php on line 14
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\AssetScannerTest::$Scanner is deprecated in /data/work/git/asset_compress/tests/TestCase/AssetScannerTest.php on line 19

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\AssetScannerTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/AssetScannerTest.php on line 14

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\AssetScannerTest::$Scanner is deprecated in /data/work/git/asset_compress/tests/TestCase/AssetScannerTest.php on line 19
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Command\AssetCompressCommandsTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Command/AssetCompressCommandsTest.php on line 25
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 21
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 22

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 21

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 22
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 21
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 22

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 21

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 22
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 21
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 22

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 21

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 22
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 21
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 22

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 21

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\ConfigFinderTest::$testConfig is deprecated in /data/work/git/asset_compress/tests/TestCase/Config/ConfigFinderTest.php on line 22
D...........PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Filter\ImportInlineTest::$filter is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/ImportInlineTest.php on line 15

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Filter\ImportInlineTest::$filter is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/ImportInlineTest.php on line 15
DPHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Filter\SprocketsTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/SprocketsTest.php on line 14
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Filter\SprocketsTest::$_jsDir is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/SprocketsTest.php on line 15
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Filter\SprocketsTest::$filter is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/SprocketsTest.php on line 17
PHP Deprecated:  Creation of dynamic property AssetCompress\Test\TestCase\Filter\SprocketsTest::$_themeDir is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/SprocketsTest.php on line 37

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Filter\SprocketsTest::$_testFiles is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/SprocketsTest.php on line 14

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Filter\SprocketsTest::$_jsDir is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/SprocketsTest.php on line 15

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Filter\SprocketsTest::$filter is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/SprocketsTest.php on line 17

Deprecated: Creation of dynamic property AssetCompress\Test\TestCase\Filter\SprocketsTest::$_themeDir is deprecated in /data/work/git/asset_compress/tests/TestCase/Filter/SprocketsTest.php on line 37

$cache = 'default';
}
if ($cache) {
$cachedConfig = Cache::read('asset_compress_config', $cache);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should the cache key be dependent on the args path and skipPlugins maybe?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that is necessary. I'd like to learn more about the use case before exposing that.

@markstory markstory merged commit f5f0fc9 into markstory:5.x May 1, 2025
7 of 9 checks passed
@dereuromark dereuromark deleted the 5.x-loading-fixes branch November 19, 2025 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants